//let productComponentJSON: [String: Any] =
//[
//    "commoditys": [
//        [
//            "commodityId": 817,
//            "payShow": true,
//            "payChannels": [
//                [
//                    "id": 9002,
//                    "actualPayAmount": 7290,
//                    "order": 1,
//                    "usable": true,
//                    "isPayPromotion": true,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9863,
//                    "actualPayAmount": 9000,
//                    "order": 5,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9829,
//                    "actualPayAmount": 8998,
//                    "order": 6,
//                    "usable": true,
//                    "isPayPromotion": true,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9820,
//                    "actualPayAmount": 9000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9822,
//                    "actualPayAmount": 9000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9824,
//                    "actualPayAmount": 9000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ]
//            ]
//        ],
//        [
//            "commodityId": 814,
//            "payShow": true,
//            "payChannels": [
//                [
//                    "id": 9002,
//                    "actualPayAmount": 2430,
//                    "order": 1,
//                    "usable": true,
//                    "isPayPromotion": true,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9863,
//                    "actualPayAmount": 3000,
//                    "order": 5,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9829,
//                    "actualPayAmount": 2998,
//                    "order": 6,
//                    "usable": true,
//                    "isPayPromotion": true,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9820,
//                    "actualPayAmount": 3000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9822,
//                    "actualPayAmount": 3000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ],
//                [
//                    "id": 9824,
//                    "actualPayAmount": 3000,
//                    "order": 10,
//                    "usable": true,
//                    "isPayPromotion": false,
//                    "isDefault": false
//                ]
//            ]
//        ]
//    ],
//    "payChannels": [
//        [
//            "id": 9002,
//            "code": "MobileWallet-NG",
//            "name": "eWallet",
//            "appInterfaceMode": 1,
//            "payType": 1,
//            "channelType": 99,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "1",
//            "description": "Payment Note:<br> 1.You can pay your order through your eWallet balance after recharging.<br>   2.Your eWallet can be recharged via the various payment methods such Paga、VTPass、Interswitch/Quickteller、Remita、Startimes Voucher.<br> Tips: Please keep your account balance sufficient to avoid payment failure.",
//            "orderSeq": 1,
//            "createTime": "2018-04-05T14:29:52.000+0000",
//            "updateTime": "2023-01-04T09:00:15.000+0000",
//            "logoUrl": "http://cdn.startimestv.com/banner/ic_ewallet_def_g%20copy.png",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "1",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "MobileWallet-NG",
//            "transFeeRuleId": 4,
//            "supportDirectDeduct": 1,
//            "formConfigExist": false,
//            "usable": true,
//            "payPromotion": [
//                "payChannelId": 9002,
//                "payPromotionId": "M20101403235071001",
//                "promotionName": "NG-mobilewallet",
//                "promotionTag": "8折优惠",
//                "promotionStartTime": "2020-10-15T00:00:00.000+0000",
//                "promotionEndTime": "2025-01-03T23:59:59.000+0000",
//                "actualPayAmount": 0,
//                "promotionUrl": "",
//                "promotionDesc": "8折优惠，保留两位小数。"
//            ],
//            "account": [
//                "accountNo": "92014797186",
//                "phone": "2347017202282",
//                "country": "NG",
//                "currency": "NGN",
//                "currencySymbol": "₦",
//                "amount": 0,
//                "hasConfigPayPwd": false,
//                "hasBindPhone": true,
//                "hasBindEmail": false
//            ]
//        ],
//        [
//            "id": 9863,
//            "code": "MtnSdpSubscribe-NG",
//            "name": "MTN Airtime【*】",
//            "appInterfaceMode": 3,
//            "payType": 4,
//            "channelType": 1,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "",
//            "description": "Payment Note: <br>1. Click \"PAY\" <br>2. Enter your MTN phone number to click \"Next\" <br>3. You will receive a prompt from MTN <br>4. Accept Renewal or One-Off <br>5. You will receive a SMS for successful payment <br>Tips: Please keep your account balance sufficient to avoid payment failure",
//            "orderSeq": 5,
//            "createTime": "2019-10-09T14:34:54.000+0000",
//            "updateTime": "2023-02-10T07:26:05.000+0000",
//            "logoUrl": "http://cdn.startimestv.com/banner/3o3bpd1hkooh7iqe6o.80e78656-1-e1505118214230%20copy%2018.png",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "0",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "|31200",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "monnify-NG",
//            "transFeeRuleId": 3,
//            "supportDirectDeduct": 0,
//            "formConfigExist": true,
//            "usable": true,
//            "payChannelFormConfigDtoList": [
//                [
//                    "id": 105,
//                    "code": "network",
//                    "createTime": "2020-10-14T01:12:59.000+0000",
//                    "defaultValue": "glo",
//                    "description": "",
//                    "displayCondition": "",
//                    "displayState": 1,
//                    "formType": "radio",
//                    "maxLength": 0,
//                    "name": "Network",
//                    "options": "glo|airtel",
//                    "orderSeq": 1,
//                    "pattern": "",
//                    "placeholder": "Network",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2022-12-20T03:03:33.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 116,
//                    "code": "msisdn",
//                    "createTime": "2020-10-26T02:35:45.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "",
//                    "displayState": 1,
//                    "formType": "msisdn",
//                    "maxLength": 10,
//                    "name": "msisdn",
//                    "options": "",
//                    "orderSeq": 2,
//                    "pattern": "^(234)?(0)?\\d[10]$",
//                    "placeholder": "input phone number",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2022-12-20T03:03:54.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 109,
//                    "code": "email",
//                    "createTime": "2020-10-14T05:38:49.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "email",
//                    "maxLength": 6,
//                    "name": "email",
//                    "options": "",
//                    "orderSeq": 3,
//                    "pattern": "^\\w[6]$",
//                    "placeholder": "email",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-01-05T02:12:12.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 190,
//                    "code": "tel",
//                    "createTime": "2023-02-10T06:02:38.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "tel",
//                    "maxLength": 13,
//                    "name": "tel",
//                    "options": "",
//                    "orderSeq": 3,
//                    "pattern": "^\\d[10]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-02-10T06:03:49.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 191,
//                    "code": "hidden",
//                    "createTime": "2023-02-10T06:03:09.000+0000",
//                    "defaultValue": "1234",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "hidden",
//                    "maxLength": 4,
//                    "name": "hidden",
//                    "options": "",
//                    "orderSeq": 5,
//                    "pattern": "^\\w[4]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-02-10T07:07:35.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 192,
//                    "code": "password",
//                    "createTime": "2023-02-10T06:04:33.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "password",
//                    "maxLength": 3,
//                    "name": "password",
//                    "options": "",
//                    "orderSeq": 5,
//                    "pattern": "^\\w[3]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-02-10T07:53:11.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 193,
//                    "code": "select",
//                    "createTime": "2023-02-10T07:05:15.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "select",
//                    "maxLength": 3,
//                    "name": "select",
//                    "options": "",
//                    "orderSeq": 5,
//                    "pattern": "^\\w[3]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-02-10T07:06:04.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 195,
//                    "code": "textarea",
//                    "createTime": "2023-02-10T07:06:29.000+0000",
//                    "defaultValue": "",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "textarea",
//                    "maxLength": 6,
//                    "name": "textarea",
//                    "options": "",
//                    "orderSeq": 5,
//                    "pattern": "^\\d[6]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2023-02-10T07:06:29.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ],
//                [
//                    "id": 111,
//                    "code": "checkbox",
//                    "createTime": "2020-10-14T05:44:52.000+0000",
//                    "defaultValue": "Name.2",
//                    "description": "",
//                    "displayCondition": "network=airtel",
//                    "displayState": 3,
//                    "formType": "checkbox",
//                    "maxLength": 0,
//                    "name": "checkbox",
//                    "options": "Name.1|Name.2|Name.3",
//                    "orderSeq": 7,
//                    "pattern": "",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2020-10-14T07:48:26.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ]
//            ]
//        ],
//        [
//            "id": 9829,
//            "code": "CellulantExpressCheckout-NG",
//            "name": "CellulantExpress",
//            "appInterfaceMode": 2,
//            "payType": 3,
//            "channelType": 99,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "",
//            "description": "",
//            "orderSeq": 6,
//            "createTime": "2021-03-02T07:11:09.000+0000",
//            "updateTime": "2022-03-03T05:47:30.000+0000",
//            "logoUrl": "",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "0",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "Cellulant-NG",
//            "supportDirectDeduct": 0,
//            "formConfigExist": false,
//            "usable": true,
//            "payPromotion": [
//                "payChannelId": 9829,
//                "payPromotionId": "M23020909474992402",
//                "promotionName": "b满3-2",
//                "promotionTag": "图标文案123",
//                "promotionStartTime": "2023-02-01T00:00:00.000+0000",
//                "promotionEndTime": "2023-12-31T23:59:59.000+0000",
//                "actualPayAmount": 0,
//                "promotionUrl": "b",
//                "promotionDesc": "b满3-2b满3-2"
//            ]
//        ],
//        [
//            "id": 9820,
//            "code": "Opay-NG",
//            "name": "Opay-NG",
//            "appInterfaceMode": 2,
//            "payType": 3,
//            "channelType": 2,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "",
//            "description": "",
//            "orderSeq": 10,
//            "createTime": "2022-06-13T02:17:30.000+0000",
//            "updateTime": "2022-07-19T11:15:20.000+0000",
//            "logoUrl": "",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "0",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "OpayTest",
//            "transFeeRuleId": 4,
//            "supportDirectDeduct": 0,
//            "formConfigExist": false,
//            "usable": true
//        ],
//        [
//            "id": 9822,
//            "code": "XpressPay-NG",
//            "name": "XpressPay-NG",
//            "appInterfaceMode": 2,
//            "payType": 3,
//            "channelType": 99,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "",
//            "description": "",
//            "orderSeq": 10,
//            "createTime": "2022-04-15T16:31:21.000+0000",
//            "updateTime": "2022-04-15T16:31:21.000+0000",
//            "logoUrl": "",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "0",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "",
//            "transFeeRuleId": 6,
//            "supportDirectDeduct": 0,
//            "formConfigExist": false,
//            "usable": true
//        ],
//        [
//            "id": 9824,
//            "code": "MtnHsdpSubscribe-NG",
//            "name": "MtnHsdpSubscribe-NG",
//            "appInterfaceMode": 3,
//            "payType": 4,
//            "channelType": 1,
//            "settleType": 99,
//            "country": "NG",
//            "currency": "NGN",
//            "state": 1,
//            "useGuide": "",
//            "description": "",
//            "orderSeq": 10,
//            "createTime": "2022-03-23T02:49:17.000+0000",
//            "updateTime": "2022-03-23T02:49:17.000+0000",
//            "logoUrl": "",
//            "isSupportCardBind": "0",
//            "needEwalletPwdVerify": "0",
//            "supportAppVersions": "",
//            "lastSuccessPay": false,
//            "formConfigDesc": "",
//            "formConfigGuideType": 1,
//            "withdrawSupportState": 0,
//            "paySupportState": 1,
//            "formConfigShowMode": 0,
//            "formConfigShowModeReg": "^\\d+$",
//            "partnerCode": "",
//            "supportDirectDeduct": 0,
//            "formConfigExist": true,
//            "usable": true,
//            "payChannelFormConfigDtoList": [
//                [
//                    "id": 132,
//                    "code": "msisdn",
//                    "createTime": "2022-03-23T06:43:07.000+0000",
//                    "defaultValue": "2349134628324",
//                    "description": "",
//                    "displayCondition": "",
//                    "displayState": 1,
//                    "formType": "tel",
//                    "maxLength": 13,
//                    "name": "msisdn",
//                    "options": "",
//                    "orderSeq": 0,
//                    "pattern": "^(234)?(0)?\\d[10]$",
//                    "placeholder": "",
//                    "required": 1,
//                    "countryCallingCode": "",
//                    "state": 1,
//                    "updateTime": "2022-03-23T07:44:05.000+0000",
//                    "editableState": 0,
//                    "validOptions": "",
//                    "otpOptions": ""
//                ]
//            ]
//        ]
//    ]
//]
